#ifndef GFX_FRAMEBUFFER_H
#define GFX_FRAMEBUFFER_H

#include "gfx_core.h"


//-----------------------------------------------------------------------------
// Resolution
//-----------------------------------------------------------------------------


/**
 * \brief Structure defining a window resolution
 */
typedef struct
{
    /// \param Width of the resolution.
    int width;

    /// \param Height of the resolution.
    int height;

    /// \param Bits per pixel of the resolution.
    int bpp;

    /// \param Fullscreen flag.
    int fullscreen;
} GFX_Resolution;

/**
 * \brief Set new window resolution.
 * \param res New resolution to apply
 * \return 0 on success, -1 on failure.
 * \warning
 */
int gfx_set_resolution(GFX_Resolution res);

/**
 * \brief Get current window resolution.
 * \return Current resolution.
 */
GFX_Resolution gfx_get_resolution(void);

void gfx_scene_begin(void);
void gfx_scene_end(void);

void gfx_clipping_set(float x, float y, float w, float h);
void gfx_clipping_reset(void);

#endif
